home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_2
/
vfy_20.zip
/
VERIFY!.DOC
< prev
next >
Wrap
Text File
|
1991-10-09
|
27KB
|
574 lines
VERIFY!.EXE v2.0 Copyright 1991 by Carl Sagerquist Data (805) 723-6908
DESCRIPTION
-----------
VERIFY! is a program designed to verify a BBS caller. When invoked,
VERIFY! will ask for specific information from the caller, hang up,
return the call, and ask for the same data for verification. If the
information matches, the caller is verified. ERRORLEVELs are returned
to the calling batch file which will allow the sysop to make the
necessary adjustments to the BBS as appropriate. A log and list file
is kept. These files maintain the caller's name and phone number for
future reference by both VERIFY! and the sysop.
FILES IN THIS ZIP PACKAGE
-------------------------
VERIFY!.EXE <----------- Executable program.
VERIFY!.DAT <----------- Modem parameters, MAXIHOST directory, etc.
VERIFY!.NUM <----------- Phone number control file.
VERIFY!.DOC <----------- Document - this file.
TRAPDOOA.BAT <----------- Example of a Trap Door batch file.
TRAPDOOB.BAT <----------- Example of a GAME Trap Door batch file.
OTHER FILES
-----------
VERIFY!.LST <----------- Created by VERIFY!, contains a list of
verified callers and their phone numbers.
VERIFY!.LOG <----------- Created by VERIFY!, logs the caller's
actions.
REQUIRED EDITING
----------------
VERIFY!.DAT and VERIFY!.NUM must be edited prior to going on line!
Your calling batch file must be edited, or renamed. TRAPDOOA.BAT
and TRAPDOOB.BAT is supplied to help you start.
REGISTRATION AND SUPPORT
------------------------
This is important! Until VERIFY! is registered with the programmer,
one very important feature is inhibited: The call screening. After
the sysop name and registration number is placed into VERIFY!.DAT,
you will be able to screen out toll and long distance calls, or
designate the time of day to make these calls. Your number will be
mailed upon receipt of the registration fee.
Without this feature, (BEFORE REGISTRATION), any request to call back
verify is granted! If your BBS is in Los Angeles, Ca., and a caller
from New York, Ny. requests to be verified, YOUR PHONE BILL WILL
REFLECT THIS EXPENSIVE CALL!
With this feature (after registration), you can adjust VERIFY! to
call back verify ONLY local calls, or long distance numbers ONLY
within the area code(s) you designate.
This is a user supported product. VERIFY! represents many hours
of work. This software is Shareware, not free or public domain.
You are granted a 30 day limited license to evaluate this program,
after which you must either register the product, or discontinue its
use. If you choose to register this program, please make out a check
or money order for $10.00 payable to:
Carl Sagerquist
1414 W. Kerrick St.
Lancaster, Ca. 93534
Your registration number will be mailed on receipt of your payment,
and will be left to you in a private message on "The Antelope Valley
Aviator BBS" at (805) 723-6908. This number is generated by
mathematical formula derived from your first and last name. It is
recommended that you register this program promptly, as the cost of
the toll call backs have the potential to far exceed the $10.00
requested!
Payment is a one time investment which allows you all further revisions
at no extra expense.
Please distribute this program, i.e. place it in your communications
program download area for others to evaluate and use. Your comments
on this program are gladly accepted (requested, actually) at the number
below. Please use the BBS as our communication vehicle. I will gladly
respond to all comments through the BBS.
The Antelope Valley Aviator
Carl Sagerquist - Programmer/Sysop
300-1200-2400 BAUD 24 Hours
(805) 723-6908
Thank you for supporting VERIFY!!
OVERVIEW
--------
VERIFY! was written by request from a MAXIHOST BBS sysop who had
some difficulty with some rude callers. These people would call
under fake names and leave foul messages, upload rude material,
etc. This sysop needed a program that would validate each caller
prior to authorizing access. VERIFY! performs this duty by
returning the call to the user, and comparing the name and password
left behind with the name and password typed in after the call back.
If verified, VERIFY!.LST keeps a ready reference of verified callers
and their phone numbers.
OPERATION
---------
VERIFY! performs a series of steps to complete the task of on-line
verification. The caller is given the opportunity to stop the process
and exit the program, if desired.
1 - Caller is asked if he wants to be verified for access.
2 - The caller's name is compared to the names in the file
VERIFY!.LST. If found, the caller is advised that verification
has already been successful, and the program exits.
3 - Instructions are issued, then caller is asked if he wants to
proceed.
4 - The caller must type in his personal information:
First and last names are placed for the caller.
Caller types in a password.
Caller types in phone number with area code.
Caller is then asked if the information is correct. Process
is repeated if necessary.
5 - Phone number is checked against all others within the file
VERIFY!.LST. If the number provided by the caller is already
in this list, the verification process stops and the caller is
notified to leave a message to the sysop regarding his access.
It could be that this caller is a previous verified user under
a fake name! You might want to place other BBS phone numbers
here, so a prankster won't have your BBS hook to another BBS!
6a- REGISTERED VERSION ONLY: Phone number is checked against a text
file (VERIFY!.NUM) of authorized area codes and local prefix
numbers. If the area code and/or prefix is not found in this
file, the call is not placed, and the caller is notified to leave
a message to the sysop, regarding BBS access. This controls the
sysop phone bill.
6b- UNREGISTERED VERSION: All requests for call back verify will
be granted. The sysop phone bill will reflect any long distance
call backs! It is recommended that you register this program
promptly, as your increased phone bill will quickly exceed the
registration price if you have a lot of long distance callers!!!
7 - BOTH REGISTERED and UNREGISTERED: Certain calls can be very
expensive. Calls to a 976 prefix or area code 900 can be
extremely costly. The file VERIFY!.NUM contains the line labeled:
UNAUTHORIZED NUMBERS = 800 900 976
If the area code or prefix matches any number in this line, the
call is not placed. Lets face it, the first prankster that gets
upset through your use of this program might try to get even
by typing in a 976 number! VERIFY!.EXE is one step ahead!
8 - REGISTERED VERSION ONLY: If the call back will be a long distance
number, and it checks out OK, the time is checked to be within the
two times defined in VERIFY!.DAT. If this function is not
disabled, (with 0 - 0), VERIFY! will either return the call, or
advise the caller of the normal times that his call back can be
placed.
9 - Modem hangs up assuming the phone number is authorized.
10 - Modem is reset to the parameters found in the file VERIFY!.DAT
which contains the baud rate, parity, data and stop bit values,
modem reset, initialize and dial strings.
11 - The caller's phone number is dialed.
12 - When the caller answers, he will be given the opportunity to type
in his name and password again. VERIFY! compares this data to
the data left behind before the call back. If it matches, the
caller is advised that he is verified.
13 - If verification is successful, caller is thanked for proper
verification. If the call was local, the caller is returned
to the BBS. If the call was long distance, a message is issued
stating that this is a toll call, and that access will be granted
on next call. The phone line is then disconnected. Without this
feature, the BBS would continue at the sysop's expense. If the
call back was long distance, it could become extremely costly to
the sysop. The UNREGISTERED version WILL disconnect on toll
calls.
14 - The file VERIFY!.LOG is created or appended with information
regarding the caller's actions. The data includes the caller's
name, phone number (if he got that far), the date and time,
and the result of VERIFY!. Results include statements like:
"***** VERIFIED! Local *****", "Carrier lost",
"Decided not to be verified", etc.
15 - On exit of VERIFY!, ERRORLEVELs are returned to the calling
batch file. It is then your responsibility to invoke BBS
utility programs to adjust your caller's BBS security level
or perform what ever duty you need. Even if nothing is done
to the BBS at all, you will have the new name in VERIFY!.LST
with the correct phone number. If you don't understand DOS
ERRORLEVELs, you'll need to review your DOS manual.
FILE VERIFY!.NUM
----------------
If VERIFY! calls back the user, how can you keep a tab on your
phone bill? This was a major consideration for this program.
There are 4 different line types in VERIFY!.NUM controlling the
authorized numbers. Except for the UNAUTHORIZED NUMBERS, if the
number is not here, the call will not be placed. (REGISTERED
VERSION ONLY!!!! Unregistered version, all calls are placed
except for those placed in the UNAUTHORIZED NUMBERS line).
Consider the following first line:
UNAUTHORIZED NUMBERS = 800 900 976
If the caller's area code or prefix matches any 3 digit number
on this line, then the call is not placed. This protects you
from those very expensive 976 numbers and area code 900 numbers.
This function is operational whether registered or not. Place any
area code or prefix you need here, but don't exceed 80 characters
per line. There may be as many "UNAUTHORIZED NUMBERS" lines as you
deem necessary.
Consider the following second line:
LOCAL 805 943 944 945 948 949 723 722 264
The above line is searched for the caller's area code. (The local
area code at the BBS is 805). If the caller's phone number includes
the area code 805, then the line is searched for the prefix. If the
prefix is found, then the callback will be a local call, and the dial
string will only contain the 7 digit local number. For example:
(805) 723-6908 is the caller's number. The area code 805 is found in
the line above so the line is searched for the prefix 723. 723 is
found, so the dialed number will be 7236908. If the prefix is not
found, the next line in the file is searched. This allows you to
screen out those toll calls that look like local calls.
If this line contained the numbers 805 and 000, then ALL numbers
within the area code 805 will be called, just as they are before
registration. There may be as many "LOCAL" lines as you deem
necessary, but don't exceed 80 characters per line.
Consider the following third line:
TOLL LOCAL 805 724 942
The above line is also searched for the caller's area code. (The
local area code again: 805). If the caller's phone number includes
the area code 805, then the line is searched for the prefix. If the
prefix is found, then the callback will be a toll call within the
local area code. The dial string will only contain the 7 digit
number. For example:
(805) 942-0889 is the caller's number. The area code 805 is found in
the line above so the line is searched for the prefix 942. 942 is
found, so the dialed number will be 9420889. If the prefix is not
found, the next line in the file is searched. This allows you to
designate the toll calls within your local area code you will allow
to be called. The number 000 does not apply to this line, since its
placement in the LOCAL line will accomplish the objective. There may
be as many "TOLL LOCAL" lines as you deem necessary, but don't exceed
80 characters per line.
Consider the following fourth line:
AREACODES 213 408 415 602 818
If the area code is not found in the LOCAL or TOLL lines, the prefix
checks are skipped, and the AREACODES line is searched for the
area code. If it is found, the number is called. For example:
(602) 555-1212 is the caller's number. 602 is not the local area code,
so the AREACODES line is compared. 602 is found, but the number is
incomplete. First, the number 1 is appended to the dial string, then
the full number, resulting in the dial string being 16025551212. If
the area code is still not found, then the call is not placed.
If the number 000 is in this line, then ALL long distance calls will
be placed, just as they are before registration. There may be as many
"AREACODES" lines as you deem necessary, but don't exceed 80 characters
per line.
SYSOP HAS FULL CONTROL OF WHAT NUMBERS MAY BE CALLED!
(REGISTERED VERSION ONLY!!!!!)
NOTE: If the number called is a toll call (inside or outside the local
area code), the line will hang up (be disconnected) after
verification. This controls the sysop phone bill. Caller is
advised that access is authorized on next call.
FILE VERIFY!.DAT
----------------
The following text lines MUST exist within this file, and MUST be
edited to your needs. BAUD rates supported are 110, 150, 300, 600,
1200, 2400, 4800 and 9600.
REGISTRATION = SYSOPFIRST SYSOPLAST #
RESET STRING = ATZ
BAUD = 2400
PARAMETERS = N81
INITIALIZE STRING = ATH0M1E0S0=0S11=55
DIAL STRING = ATDT
REDIALS = 3
VERIFY! DIRECTORY = C:\MAXIHOST
TOLL CALL BACK HOURS = 21 - 6
REDIALS
-------
VERIFY! can reattempt the phone call if the first attempt does not
find a modem. Could be a caller is confused and just doesn't
understand. Designate the amount of redial attempts here.
TOLL CALL BACK HOURS
--------------------
Since most long distance carriers (phone companies) offer reduced
rates within certain times, you can define your call back time for
long distance calls. These times are defined in VERIFY!.DAT. In
the line "TOLL CALL BACK HOURS = # - #", the numbers to be placed
are the hours from the 24 hour clock. 1:00 pm is 13, 12:00 am is
24, etc. Hours only, no minutes. The example above is for performing
long distance call backs between 9:00 pm and 6:00 am.
If you do not require screening your long distance call back time,
place the number 0 (zero) for both: "TOLL CALL BACK HOURS = 0 - 0"
to disable this function, allowing long distance call back at any time.
CARRIER MONITOR
---------------
VERIFY! monitors the Carrier Detect. If a caller hangs up, or gets
disconnected, VERIFY! will exit clean and return to the BBS. The
BBS will then reset and await the next call. You can test this
feature by typing the ~ character at any prompt.
TIME LIMIT
----------
The caller has 60 seconds to complete each entry, or carrier is
dropped and the program exits. That way, if your caller's computer
freezes, you aren't stuck on line! This feature was added to
disallow remote's control of the carrier. Without this feature, the
call back could last as long as the remote caller would allow. If
the call back was long distance, your phone bill could sink you.
You can test this feature by typing the (^A) character at any prompt
or waiting 60 seconds without input.
SYNTAX
------
VERIFY! [-(bbstype)]
VERIFY! -MEGAHOST
SUPPORTED BBS's
---------------
Local Mode: -LOCAL ( )
Maxihost: -MAXIHOST (DOOR.SYS)
Megahost: -MEGAHOST (DOOR.SYS)
QuickBBS: -QBBS (DORINFO1.DEF)
RBBS: -RBBS (DORINFO1.DEF)
Wildcat: -WILDCAT (CALLINFO.BBS)
ALTERNATE SYNTAX
----------------
VERIFY! [port] [fname] [lname] [color (Y/N)] [data dir] [LOCAL or CARRIER]
MAXIHOST Example:
VERIFY! %1 %3 %4 %6 %7 %8
Other Example:
VERIFY! 2 CARL SAGERQUIST Y C:\MAXIHOST\DATA CARRIER
Note: Use the LOCAL mode for testing purposes.
PLACEMENT OF FILES
------------------
Place VERIFY!.EXE in its own directory. If the alternate syntax us
used, VERIFY!.EXE may be separated from its associated data files.
BBS programs like MAXIHOST allows for the separation of executable
program files from the data files. VERIFY! can conform to this
method. The BBS file (DOOR.SYS, CALLINFO.BBS, etc.) must reside in
the data directory or be copied to it.
ALTERNATE OPERATION
-------------------
If you want to use VERIFY! to screen users of on-line games, place a
copy of VERIFY!.EXE and its data files in the game directory. Copy
DOOR.SYS (or the appropriate BBS file) to this directory. The game
Trap Door must be available to all callers. After verification,
allow entry into the game. On exit of the door, run your BBS utility
program for adjusting security levels for the caller's next entry.
BATCH file commands should chech the security level of the caller and
he/she should be entered into the Verity! program, or directly into
the game. This protects the BBS game door from having callers play
under multiple names, because two callers cannot be automatically
verified from the same originating phone number. If its legitimate,
like brother and sister both want to play the game, the message left
to the sysop will explain, and you'll have to manually adjust the
security for that player.
ERRORLEVELS
-----------
VERIFY! will return different errorlevels for further processing
by the calling batch file:
ERRORLEVEL 0 means the caller is verified, and all data matched.
Call back was LOCAL.
ERRORLEVEL 1 means the caller is verified, and all data matched.
Call back was LONG DISTANCE.
ERRORLEVEL 2 means the caller has already been verified.
ERRORLEVEL 3 means the caller reentered the wrong data on callback.
Caller not verified.
ERRORLEVEL 4 means no modem on callback. Caller not verified.
ERRORLEVEL 5 means the caller's phone number duplicates another
verified caller's phone number. Could be a bogus call.
ERRORLEVEL 6 means the callback phone number is not authorized.
ERRORLEVEL 7 means long distance callback not within time envelope.
ERRORLEVEL 10 means the caller decided not to be verified.
ERRORLEVEL 15 means the remote input time limit (60 seconds) exceeded.
ERRORLEVEL 20 means carrier was dropped.
ERRORLEVEL 30 means VERIFY! error, input or output files could not be
opened/created, unsupported COM port, etc.
ERRORLEVEL 35 means the BBS file (DOOR.SYS, DORINFO1.DEF, CALLINFO.BBS)
cannot be found.
BBS ADJUSTMENTS
---------------
VERIFY! does no adjustments to your BBS itself. You, as sysop, are
responsible to code your calling batch file appropriately to effect
change. The returned ERRORLEVELs from VERIFY! will allow you to
to do this.
SAMPLE BATCH FILE FOR MAXIHOST
------------------------------
@echo off
cls
C:
CD\MAXIHOST\VERIFY!
COPY C:\MAXIHOST\DATA\DOOR.SYS C:\MAXIHOST\VERIFY!
VERIFY! -MAXIHOST
if ERRORLEVEL 35 echo BBS file (DOOR.SYS) not found. >> %7\MAXIHOST.LOG
if ERRORLEVEL 35 goto END
if ERRORLEVEL 30 echo Syntax error, data error, or com port error. >> %7\MAXIHOST.LOG
if ERRORLEVEL 30 goto END
if ERRORLEVEL 20 echo CARRIER LOST! >> %7\MAXIHOST.LOG
if ERRORLEVEL 20 goto END
if ERRORLEVEL 15 echo Input Time Limit Exceeded! >> %7\MAXIHOST.LOG
if ERRORLEVEL 15 goto END
if ERRORLEVEL 10 echo Caller decided not to be verified. >> %7\MAXIHOST.LOG
if ERRORLEVEL 10 goto END
if ERRORLEVEL 7 echo Long distance call not within time envelope. >> %7\MAXIHOST.LOG
if ERRORLEVEL 7 goto END
if ERRORLEVEL 6 echo The callback phone number is not authorized. >> %7\MAXIHOST.LOG
if ERRORLEVEL 6 goto END
if ERRORLEVEL 5 echo Caller's phone number dupes another caller's number. >> %7\MAXIHOST.LOG
if ERRORLEVEL 5 goto END
if ERRORLEVEL 4 echo No modem on callback. >> %7\MAXIHOST.LOG
if ERRORLEVEL 4 goto END
if ERRORLEVEL 3 echo Wrong data reentered on callback. >> %7\MAXIHOST.LOG
if ERRORLEVEL 3 goto END
if ERRORLEVEL 2 echo Caller already verified. >> %7\MAXIHOST.LOG
if ERRORLEVEL 2 goto END
if ERRORLEVEL 1 echo New caller verified! (Long Distance) >> %7\MAXIHOST.LOG
if ERRORLEVEL 1 goto SET
if ERRORLEVEL 0 echo New caller verified! (Local) >> %7\MAXIHOST.LOG
if ERRORLEVEL 0 goto SET
:SET
CD\MAXIHOST
rem MHAPI service 5 will increase the caller's security while on line.
MHAPI 5 10
:END
CD\MAXIHOST\UPLOADS
DISCLAIMER
----------
This program is distributed as is. No warranty, either expressed or
implied is offered and the programmer is not responsible for any
damages or expenses that may occur through the use of this program.
The user shall determine its suitability. Please communicate any
difficulties with the programmer through the BBS at (805) 723-6908.
PRANKSTER CONTROL
-----------------
If everyone was honest and respectful, there would be no need for this
program. Some people spray paint on walls. Some people throw rocks
through windows. The same mentality will call a BBS incognito and
raise havoc with the sysop and his users through foul messages,
uploaded dirty files, etc. When a prankster is caught by this program,
he may feel a desire to get even. This program was written with this
prankster mentality in mind. The controlling features are:
1 - 60 second timer for user input. A caller cannot hook you to his
computer indefinitely, thus controlling your phone bill (long
distance/toll calls).
2 - No duplicate phone numbers on automatic verify.
- A new caller with the same phone number of a previously verified
caller could be the same person under a different name!
- A prankster might try to make your BBS hook up to another BBS!
Place ALL possible BBS numbers into the file VERIFY!.LST, and
this will not happen!
3 - Numbers designated as UNAUTHORIZED NUMBERS (within VERIFY!.NUM)
are screened out. A prankster might try to make your computer call
a 976 or area code 900 number. Also, if the call back was
911-####, the 911 would connect you to the emergency dispatch in
your city! These numbers should be placed on the line labeled:
UNAUTHORIZED NUMBERS. This feature is operational prior to
registration, and if 000 is placed in VERIFY!.NUM.
4 - Long distance numbers are not called unless the area code is
designated. (REGISTERED VERSION ONLY). Lets face it, even honest
people will use this program without compensation to the programmer
if every feature was operational! Use caution, though, ALL long
distance calls are placed until VERIFY! is registered, and your
phone bill will quickly exceed the $10.00 requested.
5 - Log file appended after caller is done. The result of the caller's
actions are placed here with the date and time.
If you find a need for more techniques on handling pranksters, please
make the suggestion via my BBS at (805) 723-6908.
CREDITS
-------
Many thanks to Tim Gimber of Phoenix, Az., who suggested this program,
directed its features, and tested its operation.
History
-------
Version 2.0 - 10/09/91 - Versions prior to release 2.0 were specific
to MAXIHOST. Program renamed from M-VERIFY
to VERIFY! with this release.
- Supports MAXIHOST, MEGAHOST, QBBS, RBBS,
PCBoard, and WILDCAT.
- Syntax different while retaining the old
method.
- No adjustments to MAXIHOST or its assoc'd
files.
- ERRORLEVELS returned. The sysop must make
the appropriate adjustments to the BBS
depending on the ERRORLEVEL returned.
Version 1.08 - 09/16/91 - Sorry about that, another bug got by me.
Version 1.07 - 09/16/91 - Some code rewritten for efficiency and
safety. No changes in operation from 1.06.
Version 1.06 - 09/15/91 - Fixed FATAL ERROR in delay function that
violated memory not its own which eventually
caused system to crash.
Version 1.05 - 08/09/91 - 'REDIALS = ' added to M-VERIFY.DAT to
control the amount of attempts to recontact
the caller.
Version 1.04 - 08/07/91 - Long Distance call back time now definable,
since most long distance carriers allow for
cheaper rates at different times.
- Removed the advertisement at beginning of
output on registered version.
Version 1.03 - 07/28/91 - Fixed bug in log file entry that says
"**** VERIFIED (Long Distance) ****"
when caller really "Already Verified".
- Fixed bug that created M-VERIFY.LOG in the
root directory if M-VERIFY.EXE was called
without the proper command line parameters.
Version 1.02 - 07/26/91 - Registration required. Without the reg #,
all call backs are placed regardless of the
area code or resultant phone charges. Call
back screening enabled with registration.
- M-VERIFY now screens OUT certain area codes
or prefixes, like 976 and 900, while author-
ized numbers are screened IN. (Sysop can
define these numbers in M-VERIFY.NUM).
- M-VERIFY now checks for toll calls within
the local area code. Caller is disconnected
after verification if callback is a toll
call.
- ERRORLEVELs 1 through 5 become 2 through 6,
and ERRORLEVEL 1 redefined: ERRORLEVEL 1
returned if caller is verified and call back
is long distance. ERRORLEVEL 0 if call back
is local.
Version 1.01 - 07/21/91 - Delay added after "Returning Your Call" sent,
as it was being cut off by hanging up too
quick.
- Bug in hangup routine: After verification,
if call bach was long distance, dropping DTR
wasn't enough to disconnect. Hangup routine
fixed.
Version 1.0 - 07/19/91 - Initial release.
Version 0.2 - 07/14/91 - Beta test released to requesting official,
not to be released to public. Partially
completed.
Version 0.1 - 07/09/91 - Beta test released to requesting official,
not to be released to public. Partially
completed.